#define CONTROLSCHEME_H
#define CONTROLSCHEME_H

#include "CXBOXController.h"
#include "YarnBall.h"
#include "Camera.h"

class XboxControllerScheme_1
{
	CXBOXController * player;
	YarnBall * character;
	Camera * camera;
	bool Exit;

	public:
		XboxControllerScheme_1(int player=1);
		~XboxControllerScheme_1();

		bool SetCharacter(YarnBall * character=NULL);
		bool SetCamera(Camera * camera=NULL);

		bool StartConrolling();
		bool IsExiting();
};

class XboxControllerScheme_2
{
	CXBOXController * player;
	YarnBall * character;
	Camera * camera;
	bool Exit;

	public:
		XboxControllerScheme_2(int player=1);
		~XboxControllerScheme_2();

		bool SetCharacter(YarnBall * character=NULL);
		bool SetCamera(Camera * camera=NULL);

		bool StartConrolling();
		bool IsExiting();
};

class KeyboardScheme_1
{
	YarnBall * character;
	Camera * camera;
	bool Exit;

	public:
		KeyboardScheme_1(int player=1);
		~KeyboardScheme_1();

		bool SetCharacter(YarnBall * character=NULL);
		bool SetCamera(Camera * camera=NULL);

		bool StartConrolling(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
		bool IsExiting();
};